package com.proyemp.entity.classes;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Embeddable;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * The primary key class for the estados_clientes database table.
 * 
 */
@Embeddable
public class EstadosClientePK implements Serializable {
	//default serial version id, required for serializable classes.
	private static final long serialVersionUID = 1L;

	@Column(name="id_tipo_estado")
	private Integer idTipoEstado;

	@Column(name="id_empresa")
	private Integer idEmpresa;

    @Temporal( TemporalType.DATE)
	@Column(name="fecha_desde")
	private java.util.Date fechaDesde;

    public EstadosClientePK() {
    }
	public Integer getIdTipoEstado() {
		return this.idTipoEstado;
	}
	public void setIdTipoEstado(Integer idTipoEstado) {
		this.idTipoEstado = idTipoEstado;
	}
	public Integer getIdEmpresa() {
		return this.idEmpresa;
	}
	public void setIdEmpresa(Integer idEmpresa) {
		this.idEmpresa = idEmpresa;
	}
	public java.util.Date getFechaDesde() {
		return this.fechaDesde;
	}
	public void setFechaDesde(java.util.Date fechaDesde) {
		this.fechaDesde = fechaDesde;
	}

	public boolean equals(Object other) {
		if (this == other) {
			return true;
		}
		if (!(other instanceof EstadosClientePK)) {
			return false;
		}
		EstadosClientePK castOther = (EstadosClientePK)other;
		return 
			this.idTipoEstado.equals(castOther.idTipoEstado)
			&& this.idEmpresa.equals(castOther.idEmpresa)
			&& this.fechaDesde.equals(castOther.fechaDesde);

    }
    
	public int hashCode() {
		final int prime = 31;
		int hash = 17;
		hash = hash * prime + this.idTipoEstado.hashCode();
		hash = hash * prime + this.idEmpresa.hashCode();
		hash = hash * prime + this.fechaDesde.hashCode();
		
		return hash;
    }
}